/************************************************************************
 * <ul>
 * <li>版权所有：唐山弘川科技有限公司 CopyRight 2005-2020</li>
 * <li>创建日期：2010-10-5</li>
 * <li>创建时间：上午11:42:26</li>
 * <li>单元作者：刘川</li>
 * </ul>
 ************************************************************************/
package com.hy.mydesktop.shared.rpc.meta ;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import net.sf.gilead.annotations.ServerOnly;

import org.hibernate.type.TrueFalseType;

import com.extjs.gxt.ui.client.data.BaseModel;
import com.extjs.gxt.ui.client.data.BeanModelTag;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.user.client.rpc.IsSerializable;
import com.hy.mydesktop.shared.persistence.domain.gxt.MyBaseModel;
import com.hy.mydesktop.shared.persistence.domain.gxt.constant.MetaDataConstants;


/**
 * <ul>
 * <li>开发作者：刘川</li>
 * <li>设计日期：2010-10-5；时间：上午11:42:26</li>
 * <li>类型名称：GxtToSeamServiceParameter</li>
 * <li>设计目的：表现一次GXT客户端对服务器端服务组件调用参数的值对象</li>
 * </ul>
 * <ul>
 * <b>修订编号：</b>
 * <li>修订日期：</li>
 * <li>修订作者：</li>
 * <li>修订原因：</li>
 * <li>修订内容：</li>
 * </ul>
 */

/*public class GxtToSeamServiceParameter extends BaseModel
{
	private static final long	serialVersionUID	= 5800054612481059397L ;
	//private ModelData [ ]			methodArguments ;
	//private String				serviceComponentName ;
	//private String				serviceMethodName ;

	*//**
	 * 构造函数
	 *//*
	public GxtToSeamServiceParameter ( )
	{
		super ( ) ;
	}

	*//**
	 * 构造函数
	 *//*
	public GxtToSeamServiceParameter (
										ModelData [ ] methodArguments ,
										String serviceComponentName ,
										String serviceMethodName )
	{
		super ( ) ;
		this.setMethodArguments(methodArguments);
		this.setServiceComponentName(serviceComponentName);
		this.setServiceMethodName(serviceMethodName);
	}

	*//**
	 * @return 类属性methodArguments的值
	 *//*
	public ModelData [ ] getMethodArguments ( )
	{
		return super.get("methodArguments") ;
	}

	*//**
	 * @return 类属性serviceComponentName的值
	 *//*
	public String getServiceComponentName ( )
	{
		return super.get("serviceComponentName") ;
	}

	*//**
	 * @return 类属性serviceMethodName的值
	 *//*
	public String getServiceMethodName ( )
	{
		return super.get("serviceMethodName") ;
	}

	*//**
	 * @param 将类属性methodArguments的值设置为methodArguments
	 *//*
	public void setMethodArguments ( ModelData [ ] methodArguments )
	{
		super.set("methodArguments", methodArguments);
	}

	*//**
	 * @param 将类属性serviceComponentName的值设置为serviceComponentName
	 *//*
	public void setServiceComponentName ( String serviceComponentName )
	{
		super.set("serviceComponentName", serviceComponentName);
	}

	*//**
	 * @param 将类属性serviceMethodName的值设置为serviceMethodName
	 *//*
	public void setServiceMethodName ( String serviceMethodName )
	{
		super.set("serviceMethodName", serviceMethodName);
	}
}*/
@Entity
@Table(name="t_GxtToSeam_ServiceParameter")
public class GxtToSeamServiceParameter2 extends MyBaseModel implements Serializable,IsSerializable,BeanModelTag//Serializable, implements IMetaModel
//public class GxtToSeamServiceParameter implements Serializable,IsSerializable,BeanModelTag//Serializable, implements IMetaModel
//public class GxtToSeamServiceParameter extends BaseModel
{
	private static final long	serialVersionUID	= 5800054612481059397L ;
//	private ModelData [ ]			methodArguments ;
	private MyBaseModel [ ]			methodArguments ;
	private String				serviceComponentName ;
	private String				serviceMethodName ;

	/**
	 * 构造函数
	 */
	public GxtToSeamServiceParameter2 ( )
	{
		super ( ) ;
	}

	public GxtToSeamServiceParameter2 (
			String serviceComponentName ,
			String serviceMethodName )
	{
		super ( ) ;
		this.serviceComponentName = serviceComponentName ;
		this.serviceMethodName = serviceMethodName ;
		super.set(MetaDataConstants.SERVICE_COMPONENT_NAME, serviceComponentName);
		super.set(MetaDataConstants.SERVICE_MEHOD_NAME, serviceMethodName);
	}
	
	/**
	 * 构造函数
	 */
	public GxtToSeamServiceParameter2 (
										MyBaseModel [ ] methodArguments ,
										String serviceComponentName ,
										String serviceMethodName )
	{
		super ( ) ;
		this.methodArguments = methodArguments ;
		this.serviceComponentName = serviceComponentName ;
		this.serviceMethodName = serviceMethodName ;
		super.set(MetaDataConstants.SERVICE_COMPONENT_NAME, serviceComponentName);
		super.set(MetaDataConstants.SERVICE_MEHOD_NAME, serviceMethodName);
	}
	
	
	/**
	 * @return 类属性methodArguments的值
	 */
	@Column(nullable=true)
	public String getMethodArgumentsType ( )
	{
		return super.get(MetaDataConstants.MEHOD_ARGUMENTS_TYPE);
	}

	/**
	 * @param 将类属性methodArguments的值设置为methodArguments
	 */
	public void setMethodArgumentsType ( String methodArgumentsType )
	{
		super.set(MetaDataConstants.MEHOD_ARGUMENTS_TYPE, methodArgumentsType);
	}

	@Column(nullable=true)
	public String getArgumentName() {
//		return super.get("propertyName");
		return super.get(MetaDataConstants.ARGUMENT_NAME);
	}
	public void setArgumentName(String argumentName) {
//		super.set("propertyName", propertyName);
		super.set(MetaDataConstants.ARGUMENT_NAME, argumentName);
	}
	@Column(nullable=true)

	public String getArgumentValue() {
//		return super.get("propertyValue");
		return super.get(MetaDataConstants.ARGUMENT_VALUE);
	}
	public void setArgumentValue(String ArgumentValue) {
		super.set(MetaDataConstants.ARGUMENT_VALUE, ArgumentValue);
	}
	
	/**
	 * @return 类属性methodArguments的值
	 */
	@ServerOnly
	@Transient
	public MyBaseModel [ ] getMethodArguments ( )
	{
		return this.methodArguments ;
	}

	/**
	 * @return 类属性serviceComponentName的值
	 */
	public String getServiceComponentName ( )
	{
		return this.serviceComponentName ;
	}

	/**
	 * @return 类属性serviceMethodName的值
	 */
	public String getServiceMethodName ( )
	{
		return this.serviceMethodName ;
	}

	/**
	 * @param 将类属性methodArguments的值设置为methodArguments
	 */
	public void setMethodArguments ( MyBaseModel [ ] methodArguments )
	{
		this.methodArguments = methodArguments ;
	}

	/**
	 * @param 将类属性serviceComponentName的值设置为serviceComponentName
	 */
	public void setServiceComponentName ( String serviceComponentName )
	{
		this.serviceComponentName = serviceComponentName ;
		super.set(MetaDataConstants.SERVICE_COMPONENT_NAME, serviceComponentName);

	}

	/**
	 * @param 将类属性serviceMethodName的值设置为serviceMethodName
	 */
	public void setServiceMethodName ( String serviceMethodName )
	{
		this.serviceMethodName = serviceMethodName ;
		super.set(MetaDataConstants.SERVICE_COMPONENT_NAME, serviceComponentName);

	}
}
